/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package TransportLayer;

import DataModel.INotaryPolicy;
import DataModel.NotaryCertificate;
import DataModel.NotaryServerAddress;
import java.util.ArrayList;
import java.util.concurrent.ExecutionException;

/**
 *
 * @author Tomasz Nowak
 */
public interface IServiceClient
{
	ArrayList<NotaryResponse> verify( final NotaryCertificate notaryCertificate ) throws InterruptedException, ExecutionException;

	NotaryResponse register( NotaryCertificate notaryCertificate ) throws InterruptedException, ExecutionException;

	NotaryResponse revoke( NotaryCertificate notaryCertificate ) throws InterruptedException, ExecutionException;

	void setNotaryServerAddresses( NotaryServerAddress[] addresses );

	void setNotaryPolicy( INotaryPolicy policy );
}
